package com.jdd.modules.parking.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jdd.modules.parking.entity.ParkInfo;

import java.util.List;

/**
 * @Description: 停车场信息
 * @Author: jdd
 * @Date: 2021-02-05
 * @Version: V1.0
 */
public interface IParkInfoService extends IService<ParkInfo> {
    /**
     * 得到指定停车场的一条数据信息
     *
     * @return 停车场信息
     **/
    ParkInfo getParkInfoByParkCode();

    /**
     * 根据id获取指定车场信息
     *
     * @param id 车场id
     * @return 车场信息
     */
    ParkInfo findParkInfoById(String id);

    /**
     * 查询所有的停车场编号
     *
     * @return 所有的停车场编号
     **/
    List<String> getParkCodeList();

    /**
     * 查询数据库中的车场信息列表中的第一条车场信息
     *
     * @return 车场信息
     */
    ParkInfo getParkInfo();

    /**
     * 根据车场编号删除数据
     *
     * @return 删除状态
     */
    Boolean removeByParkCode();

    /**
     * 更新指定的车场信息
     *
     * @param parkInfo 车场信息
     * @return 更新结果
     */
    boolean updateEntity(ParkInfo parkInfo);

    /**
     * 保存指定的车场信息
     *
     * @param parkInfo 车场信息
     * @return 保存结果
     */
    boolean saveEntity(ParkInfo parkInfo);

    /**
     * 删除指定的车场信息
     *
     * @param id 车场信息id
     * @return 删除结果
     */
    boolean deleteEntityById(String id);

    /**
     * 批量删除指定的车场信息
     *
     * @param ids 车场信息id列表
     * @return 删除结果
     */
    boolean deleteEntityByIds(List<String> ids);

    /**
     * 清空表数据
     *
     * @return true 清空成功
     */
    boolean removeAllInfo();

    /**
     * 查询免费时间
     *
     * @return
     */
    ParkInfo getFreeMinutes();

    /**
     * 根据ParkCode查詢車場信息
     *
     * @param parkCode
     * @return
     */
    ParkInfo findOneParkInfo(String parkCode);
}
